package com.mall.coupon.server.mapper;

import com.mall.coupon.common.domain.CmsCoupon;
import com.mall.coupon.common.domain.SkuCoupon;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * 优惠券mapper接口
 */
public interface CmsCouponMapper {
    /**
     * 查询优惠券列表
     *
     * @param cmsCoupon 优惠券
     * @return 优惠券集合
     */
    public List<CmsCoupon> selectCmsCouponList(CmsCoupon cmsCoupon);

    /**
     * 查询优惠券
     *
     * @param id 优惠券主键
     * @return 优惠券
     */
    public CmsCoupon selectCmsCouponById(Long id);




    /**
     * 批量删除优惠券
     *
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public void deleteCmsCouponByIds(Long[] ids);


    /**
     * 把优惠券状态改为失效
     */
    public void updateCouponStatus(Long id);


    /**
     * 插入优惠券
     */
    public void insertCmsCoupon(CmsCoupon cmsCoupon);


    /**
     * 插入优惠券和sku的关联关系
     * @param couponId
     * @param skuIds
     */
    public void insertSkuCoupon(@Param("couponId") Long couponId, @Param("skuIds") List<Integer> skuIds);


    /**
     * 根据优惠券id查询优惠券信息
     * @param couponId
     * @return
     */
    public CmsCoupon selectCouponByCouponId(@Param("couponId") Integer couponId);
}
